今日我們要學習的目標:
度量decision tree的標準:熵「entropy」,gini不純度
CART的steps
CART 的程式碼範例
想像一下,我們有兩個圖片,一張圖片包含4個圈圈(圖一),另一張則為2個圈圈與兩個叉叉(圖二):
圖一帶入公式:
entropy(圖一) = -4/4[log2 (4/4)] = 0
entropy(圖二) = - 2/4[log2 (2/4)] - 2/4[log2 (2/4)] = -1
gini不純度(圖一)= 1 - [4/4]^2 = 0
gini不純度(圖二)= 1 -[2/4]^2 - [2/4]^2 = 0.5
from sklearn.tree import DecisionTreeClassifier
from sklearn.model_selection import train_test_split
#1.載入DecisonTreeClassifier model
decisionTreeModel = DecisionTreeClassifier(criterion="entropy", max_depth=2, random_state=101)
#2.模型配飾
decisionTreeModel.fit(X_train, y_train)
#3.模型預測
predicted = decisionTreeModel.predict(X_train)
#4.模型效能
accuracy_score = decisionTreeModel.score(X_train, y_train)
criterion 是選擇decision tree度量的標準,分為entropy 或是 gini不純度。
max_depth 是樹的最大高度.
random_state 是隨機種子,目地是確保我們計算出來的節果會有一致的標準。
decisionTreeModel.fit 是分別將X與y的train datasets(或稱sets),其中的X與y分別是day3所說的特徵與標籤(target)